今天介紹 golang的goroutine,這是一個比thread輕量且快速的東西.
使用golang裡的 go 指令,就可以很容易的產生goroutine.
不要與傳統的goto指令搞混了喔! goto是改變流程,go是建立產生goroutine.
請看以下範例:
// hello53
package main
import (
	"fmt"
	"time"
)
func main() {
	fmt.Println("主函式啟動!")
	// 啟動一個 goroutine
	go 玉面飛鷹()
	// 啟動另一個 goroutune
	go 油達大師()
	fmt.Println("主函式睡眠中!")
	time.Sleep(time.Second * 12)
	fmt.Println("主函式結束!")
}
func 玉面飛鷹() {
	fmt.Println("大家好! 我是人見人愛,花見花開的玉面飛鷹!")
	fmt.Println("看我飛~~~~~ 噗~ 噗~噗~ 展翅飛翔~!")
	time.Sleep(time.Second * 7)
	fmt.Println("報告! 玉面飛鷹到達目的地!")
}
func 油達大師() {
	fmt.Println("師大達油是我! 好家大!")
	time.Sleep(time.Second * 1)
	fmt.Println("砍!!!")
	fmt.Println("工收完砍!")
}
執行結果:
./hello53 
主函式啟動!
主函式睡眠中!
大家好! 我是人見人愛,花見花開的玉面飛鷹!
看我飛~~~~~ 噗~ 噗~噗~ 展翅飛翔~!
師大達油是我! 好家大!
砍!!!
工收完砍!
報告! 玉面飛鷹到達目的地!
主函式結束!
油達大師比玉面飛鷹快多了~~~